package com.itdct.onflow.core.annotation

import com.itdct.onflow.core.entity.IdEntity
import kotlin.reflect.KClass


/**
 * @author Zhouwx
 * @date 2025/3/24 10:49:05
 * @version 1.0
 * @description 列关联信息，关联到其他字段
 */
@MustBeDocumented
@Retention(AnnotationRetention.RUNTIME)
@Target(AnnotationTarget.FIELD, AnnotationTarget.ANNOTATION_CLASS)
annotation class ColumnRelateId(
    /**
     * 映射的类
     */
    val targetClass: KClass<out IdEntity>,

    /**
     * 映射的类字段名
     */
    val targetFieldName: String = "",

    /**
     * 自动生成字段后缀
     */
    val idGenSuffix: String = "Name"
)